/**
 * 实现一个累加函数 如 add(1)(2,3)() 或 add(1)(2,3).finish() 输出6
 * @param {*} args 
 */
function add() {
  var args = [].slice.call(arguments);
  return function by() {
    args = args.concat([].slice.call(arguments));
    let sum = function() {
      if(arguments.length) {
        return by
      }
      return args.reduce((prev, next) => {
        return prev + next;
      })
    }
    sum.finish = function() {
      return args.reduce((prev, next) => {
        return prev + next;
      })
    }
    return sum;
  }
}
console.log(add(1)(2,3)(4)(5)())
